﻿// Variables asociadas a los formularios
var login_usuario 			= localStorage['login_usuario'];
var hay_conexion 			= localStorage['hay_conexion'];

var id_opcion				= null;
var id_senal 				= null;
var h_id_senal 				= null;
var h_id_tipo_sen			= null;
var id_tipo_sop 			= null;
var id_estad_sen 			= null;
var id_status_sen 			= null;
var fecha_instalacion 		= null;
var estandar 				= null;
var id_estado 				= null;
var id_municipio 			= null;
var id_parroquia 			= null;
var id_sector 				= null;
var id_tipo_via 			= null;
var referencia 				= null;
var observaciones_sen		= null;

var id_tipo_pos 			= null;
var nro_postes 				= null;
var nro_caras 				= null;
var nro_contadores 			= null;
var id_estad_con 			= null;
var id_model_con 			= null;
var nro_fases 				= null;
var ciclo 					= null;


// onDeviceReady - Phonegap inicializacion
function onDeviceReady() 
{
	validar_conexion_internet();
}


// pagebeforecreate
$( '#modificarSenal' ).live( 'pagebeforecreate',function(event){
  	
});


// pagecreate
$( '#modificarSenal' ).live( 'pagecreate',function(event){
	
	$("#div_sopor_sen").hide();
	$("#div_datos_sem").hide();
	
	// Carga de Combos por Servicios
	// Combo Tipo Soporte
	consultarComboTipoSop();
	
	// Combo Estado Señal
	consultarComboEstadSen();
	
	// Combo Tipo de Poste de un Semáforo
	consultarComboTipoPos();
	
	// Combo Estado de un Contador
	consultarComboEstadCon();
	
	// Combo Modelo de un Controlador
	consultarComboModelCon();
	
	// Combo Parroquia
	if ( localStorage['hay_conexion'] == "true" )
	{
		combo_dependiente(url_servicio_global, 'combo_parroquia', 'id_parroquia', 'id_parroquia', 'parroquia', 'Parroquia', codigo_municipio_base);
	}
	else
	{
		if ( xml_parroquia_sector )
		{
			consultarComboParroquia( codigo_municipio_base );
		}
	}
	
	// Combo Tipo Vía
	consultarComboTipoVia();
	
	// Seteamos los Valores correspondientes a la Alcaldia
	cargar_encabezado();
	cargar_pie_pagina();
	
	
	// OnClick
	$('#atras, #atras2').click(function()
	{
		location.href="SubMenuSenal.html";
	});
	
	$('#inicio').click(function()
	{
		location.href="MenuPrincipal.html";
	});
	
	
	$('#consultar').click(function()
	{
		var validacion = consultar_modificar_senal();
		if ( validacion ) {
			
			/*
			// Validamos la Conexión con el Servidor
			var conexion = checkConnection();
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( conexion ) {
			*/	
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( localStorage['hay_conexion'] == "true" )
			{
			
				// Llamamos al Servicio
				var ajaxManager = $.manageAjax.create('cola_ajax',{manageType: 'queue', maxReq: 0, blockSameRequest:true});
				
				ajaxManager.add({
					type: "POST",
					url:  url_servicio_senal,
					data: "servicio=consultar_modificar_datos_sen"+"&"+
						  "id_municipio_base="+id_municipio_base+"&"+
						  "id_senal="+id_senal+"&"+
						  "device_uuid="+device.uuid+"&"+
						  "device_platform="+device.platform+"&"+
						  "login_registro="+login_usuario,
					dataType: 'xml',
					success: function(response_xml)
					{
						$xml_resultado = $(response_xml);
						$status = $xml_resultado.find("status");
						
						if($status.length)
						{
							$status.each(function()
							{
								if($(this).text()=="S")
								{
									
								}
								else if($(this).text()=="N")
								{
									
								}
							});
							
							$datos_sen = $xml_resultado.find("datos_sen");
							
							if($datos_sen.length)
							{
								if ( $datos_sen.text() != "VACIO" )
								{
									$datos_sen.each(function()
									{
										if ( localStorage['hay_conexion'] == "true" ) 
										{
											id_parroquia = $xml_resultado.find("id_parroquia").text();
											if ( id_parroquia != "" ) 
											{
												id_sector = $xml_resultado.find("id_sector").text();
												combo_dependiente(url_servicio_global, "combo_sector", "id_sector", "id_sector", "sector", "Sector", id_parroquia, id_sector);
											}
										}
										
										$('#id_senal').attr("value",$xml_resultado.find("id_senal").text());
										$('#h_id_senal').attr("value",$xml_resultado.find("id_senal").text());
										
										id_tipo_sen = $xml_resultado.find("id_tipo_sen").text();
										$('#h_id_tipo_sen').attr("value",id_tipo_sen);
										$('#nombre_tipo_sen').attr("value",$xml_resultado.find("nombre_tipo_sen").text());
										$('#nombre_categ_sen').attr("value",$xml_resultado.find("nombre_categ_sen").text());
										$('#nombre_senal_tra').attr("value",$xml_resultado.find("nombre_senal_tra").text());
										
										if ( id_tipo_sen == 1 || id_tipo_sen == 2 || id_tipo_sen == 3 || id_tipo_sen == 5 || id_tipo_sen == 6 || id_tipo_sen == 7 ) 
										{
											$('#id_tipo_sop').attr("value",$xml_resultado.find("id_tipo_sop").text());
											$('#id_tipo_sop').selectmenu("refresh",true);
											$("#div_sopor_sen").show();
										} 
										else 
										{
											$('#id_tipo_sop').attr("value","");
											$('#id_tipo_sop').selectmenu("refresh",true);
											$("#div_sopor_sen").hide();
										}
										
										$('#id_estad_sen').attr("value",$xml_resultado.find("id_estad_sen").text());
										$('#id_estad_sen').selectmenu("refresh",true);
										$('#id_status_sen').attr("value",$xml_resultado.find("id_status_sen").text());
										$('#id_status_sen').selectmenu("refresh",true);
										
										$('#fecha_instalacion').attr("value",$xml_resultado.find("fecha_instalacion").text());
										$('#estandar').attr("value",$xml_resultado.find("estandar").text());
										$('#estandar').selectmenu("refresh",true);
										
										desc_image_sen = $xml_resultado.find("desc_image_sen").text();
										imprimirImageSenalTra( desc_image_sen );
										
										if ( id_tipo_sen == 9 ) 
										{
											$('#id_tipo_pos').attr("value",$xml_resultado.find("id_tipo_pos").text());
											$('#id_tipo_pos').selectmenu("refresh",true);
											$('#nro_postes').attr("value",$xml_resultado.find("nro_postes").text());
											$('#nro_caras').attr("value",$xml_resultado.find("nro_caras").text());
											$('#nro_contadores').attr("value",$xml_resultado.find("nro_contadores").text());
											$('#id_estad_con').attr("value",$xml_resultado.find("id_estad_con").text());
											$('#id_estad_con').selectmenu("refresh",true);
											$('#id_model_con').attr("value",$xml_resultado.find("id_model_con").text());
											$('#id_model_con').selectmenu("refresh",true);
											$('#nro_fases').attr("value",$xml_resultado.find("nro_fases").text());
											$('#ciclo').attr("value",$xml_resultado.find("ciclo").text());
											$("#div_datos_sem").show();
										} 
										else 
										{
											$('#id_tipo_pos').attr("value","");
											$('#id_tipo_pos').selectmenu("refresh",true);
											$('#nro_postes').attr("value","");
											$('#nro_caras').attr("value","");
											$('#nro_contadores').attr("value","");
											$('#id_estad_con').attr("value","");
											$('#id_estad_con').selectmenu("refresh",true);
											$('#id_model_con').attr("value","");
											$('#id_model_con').selectmenu("refresh",true);
											$('#nro_fases').attr("value","");
											$('#ciclo').attr("value","");
											$("#div_datos_sem").hide();
										}
										
										$('#nombre_estado').attr("value", nombre_estado_base );
										$('#nombre_municipio').attr("value", nombre_municipio_base );
										$('#id_parroquia').attr("value",id_parroquia);
										$('#id_parroquia').selectmenu("refresh",true);
										$('#id_tipo_via').attr("value",$xml_resultado.find("id_tipo_via").text());
										$('#id_tipo_via').selectmenu("refresh",true);
										$('#referencia').attr("value",$xml_resultado.find("referencia").text());
										
										$('#observaciones_sen').attr("value",$xml_resultado.find("observaciones_sen").text());
										
										navigator.notification.alert("Información Cargada Exitosamente.", null, acronimo_sistema, "Aceptar");
									});
								} 
								else 
								{
									limpiarModificarDatosSen();
									navigator.notification.alert("No se encontro una Señal de Tránsito con el ID indicado.", null, acronimo_sistema, "Aceptar");
								}
							}                  		
							else
							{
								navigator.notification.alert("No hay Descripción de la Señal.", null, acronimo_sistema, "Aceptar");
							}
						}
						else
						{
							navigator.notification.alert("No hay Respuesta del Servicio.", null, acronimo_sistema, "Aceptar");
						}
					}
				});
				
				//navigator.notification.alert("Señal de Tránsito Consultada Existosamente para Modificar. (SERVICIO)", null, acronimo_sistema, "Aceptar");
			
			// Si no Hay Conexión con el Servidor
			} else {
				
				if ( debbugModeDM ) {
					// Se consultan los Datos de la Señal LOCALMENTE (Funcion deshabilitada)
					consultarModificarDatosSen( id_senal );
					navigator.notification.alert("Señal de Tránsito Consultada Existosamente para Modificar. (LOCALMENTE)", null, acronimo_sistema, "Aceptar");
					
				} else {
					navigator.notification.alert("ATENCIÓN: No se pudo Consultar la Señal de Tránsito para Modificar debido a que actualmente no hay Conexión.", null, acronimo_sistema, "Aceptar");
				}
			}
		} else {
			// DATA DE ENTRADA NO VALIDA
		}
	});
	
	
	$('#modificar').click(function()
	{
		var validacion = modificar_senal();
		if ( validacion ) {
			
			/*
			// Validamos la Conexión con el Servidor
			var conexion = checkConnection();
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( conexion ) {
			*/	
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( localStorage['hay_conexion'] == "true" )
			{
			
				// Llamamos al Servicio
				var ajaxManager = $.manageAjax.create('cola_ajax',{manageType: 'queue', maxReq: 0, blockSameRequest:true});
				
				ajaxManager.add({
					type: "POST",
					url:  url_servicio_senal,
					data: "servicio=modificar_senal"+"&"+
						  "id_municipio_base="+id_municipio_base+"&"+
						  "id_opcion="+id_opcion+"&"+
						  "id_senal="+h_id_senal+"&"+
						  "id_tipo_sen="+h_id_tipo_sen+"&"+
						  "id_tipo_sop="+id_tipo_sop+"&"+
						  "id_estad_sen="+id_estad_sen+"&"+
						  "id_status_sen="+id_status_sen+"&"+
						  "fecha_instalacion="+fecha_instalacion+"&"+
						  "estandar="+estandar+"&"+
						  "id_tipo_pos="+id_tipo_pos+"&"+
						  "nro_postes="+nro_postes+"&"+
						  "nro_caras="+nro_caras+"&"+
						  "nro_contadores="+nro_contadores+"&"+
						  "id_estad_con="+id_estad_con+"&"+
						  "id_model_con="+id_model_con+"&"+
						  "nro_fases="+nro_fases+"&"+
						  "ciclo="+ciclo+"&"+
						  "id_parroquia="+id_parroquia+"&"+
						  "id_sector="+id_sector+"&"+
						  "id_tipo_via="+id_tipo_via+"&"+
						  "referencia="+referencia+"&"+
						  "observaciones="+observaciones_sen+"&"+
						  "device_uuid="+device.uuid+"&"+
						  "device_platform="+device.platform+"&"+
						  "login_registro="+login_usuario,
					dataType: 'xml',
					success: function(response_xml)
					{
						$xml_resultado = $(response_xml);
						alert($xml_resultado.text());
						$status = $xml_resultado.find("status");
						alert($xml_resultado.text());
						if($status.length)
						{
							$status.each(function()
							{
								if($(this).text()=="S")
								{
									
								}
								else if($(this).text()=="N")
								{
									
								}
							});
							
							$descripcion = $xml_resultado.find("descripcion");
							
							if($descripcion.length)
							{
								$descripcion.each(function()
								{
									navigator.notification.confirm($(this).text(), irSubMenuSen, acronimo_sistema, "Aceptar,");
								});
							}                  		
							else
							{
								navigator.notification.alert("No hay Descripción del Estatus.", null, acronimo_sistema, "Aceptar");
							}
						}
						else
						{
							navigator.notification.alert("No hay Respuesta del Servicio.", null, acronimo_sistema, "Aceptar");
						}
					}
				});
	
				//navigator.notification.alert("Señal de Tránsito Modificada Existosamente. (SERVICIO)", null, acronimo_sistema, "Aceptar");
			
			// Si no Hay Conexión con el Servidor
			} else {
				
				navigator.notification.alert("ATENCIÓN: No se pudo Modificar la Señal de Tránsito debido a que actualmente no hay Conexión.", null, acronimo_sistema, "Aceptar");
				
				// Se Modifican los Datos de la Señal LOCALMENTE (Funcion deshabilitada)
				//navigator.notification.alert("Señal de Tránsito Modificada Existosamente. (LOCALMENTE)", null, acronimo_sistema, "Aceptar");
			}
		} else {
			// DATA DE ENTRADA NO VALIDA
		}
	});
});


// pageinit
$('#modificarSenal').live('pageinit',function(event) {
	
	// OnChange
	// OnChange Parroquia
	$('#id_parroquia').change(function()
	{
		if( $('#id_parroquia').val() != "" )
		{
			$('#id_sector').find("option").remove();
			$('#id_sector').append('<option value="">SELECCIONE</option>');
			$('#id_sector').selectmenu("refresh",true);
			var id_parroquia = $('#id_parroquia').val();
			
			if ( localStorage['hay_conexion'] == "true" )
			{
				combo_dependiente(url_servicio_global, 'combo_sector', 'id_sector', 'id_sector', 'sector', 'Sector', id_parroquia);
			}
			else
			{
				if ( xml_parroquia_sector )
				{
					consultarComboSector( id_parroquia );
				}
			}
		}
	});
});


// pageshow
$( '#modificarSenal' ).live( 'pageshow',function(event){
	
});


// =================================================================================================================
// ===================================== Consulta para Modificar una Señal =========================================
// =================================================================================================================

function consultar_modificar_senal() {
    
	id_senal 				= $('#id_senal').val();
	
    if ( id_senal == "" ) {
        navigator.notification.alert("Debe indicar el ID de la Señal a Modificar", null, acronimo_sistema, "Aceptar");									return false;
    } else if ( !IsNumeric(id_senal) ) {
        navigator.notification.alert("El ID de la Señal a Modificar debe ser un Número", null, acronimo_sistema, "Aceptar");							return false;
	
    } else {
        return true;
    }
}


// =================================================================================================================
// ============================================ Modificar una Señal ================================================
// =================================================================================================================

function modificar_senal() {
    
	id_opcion				= $('#id_opcion').val();
	
	h_id_senal 				= $('#h_id_senal').val();
	h_id_tipo_sen 			= $('#h_id_tipo_sen').val();
	id_tipo_sop				= $('#id_tipo_sop').val();
	id_estad_sen 			= $('#id_estad_sen').val();
	id_status_sen 			= $('#id_status_sen').val();
	fecha_instalacion 		= $('#fecha_instalacion').val();
	estandar 				= $('#estandar').val();
	id_estado 				= $('#id_estado').val();
	id_municipio 			= $('#id_municipio').val();
	id_parroquia 			= $('#id_parroquia').val();
	id_sector 				= $('#id_sector').val();
	id_tipo_via 			= $('#id_tipo_via').val();
	referencia 				= $('#referencia').val();
	observaciones_sen	 	= $('#observaciones_sen').val();
    
	if ( h_id_tipo_sen == 9 ) {
		id_tipo_pos 			= $('#id_tipo_pos').val();
		nro_postes 				= $('#nro_postes').val();
		nro_caras 				= $('#nro_caras').val();
		nro_contadores 			= $('#nro_contadores').val();
		id_estad_con 			= $('#id_estad_con').val();
		id_model_con 			= $('#id_model_con').val();
		nro_fases 				= $('#nro_fases').val();
		ciclo 					= $('#ciclo').val();
	}
	
    if ( h_id_senal == "" ) {
        navigator.notification.alert("Debe consultar la Señal a Modificar", null, acronimo_sistema, "Aceptar");											return false;
    
	} else if ( ( h_id_tipo_sen == 1 || h_id_tipo_sen == 2 || h_id_tipo_sen == 3 || h_id_tipo_sen == 5 || h_id_tipo_sen == 6 || h_id_tipo_sen == 7 ) && id_tipo_sop == "" ) {
        navigator.notification.alert("Debe indicar el Tipo de Soporte de la Señal", null, acronimo_sistema, "Aceptar");									return false;
		
	} else if ( id_estad_sen == "" ) {
        navigator.notification.alert("Debe indicar el Estado de la Señal", null, acronimo_sistema, "Aceptar");											return false;
    } else if ( id_status_sen == "" ) {
        navigator.notification.alert("Debe indicar el Estatus de la Señal", null, acronimo_sistema, "Aceptar");											return false;
   	
	} else if ( fecha_instalacion == "" ) {
        navigator.notification.alert("Debe indicar la Fecha de Instalación de la Señal", null, acronimo_sistema, "Aceptar");							return false;
    } else if ( estandar == "" ) {
        navigator.notification.alert("Debe indicar si la Señal cumple con los Estándares Venezolanos de Señalización", null, acronimo_sistema, "Aceptar");	return false;
	
	} else if ( h_id_tipo_sen == 9 && id_tipo_pos == "" ) {
        navigator.notification.alert("Debe indicar el Tipo de Poste de un Semáforo", null, acronimo_sistema, "Aceptar");								return false;
	} else if ( h_id_tipo_sen == 9 && nro_postes == "" ) {
        navigator.notification.alert("Debe indicar el Número de Postes de Semáforo de la Intesección", null, acronimo_sistema, "Aceptar");				return false;
	} else if ( h_id_tipo_sen == 9 && IsNumeric(nro_postes) == "" ) {
        navigator.notification.alert("El Número de Postes de Semáforo debe ser un Número", null, acronimo_sistema, "Aceptar");							return false;
	} else if ( h_id_tipo_sen == 9 && nro_caras == "" ) {
        navigator.notification.alert("Debe indicar el Número de Caras de Semáforo de la Intesección", null, acronimo_sistema, "Aceptar");				return false;
	} else if ( h_id_tipo_sen == 9 && IsNumeric(nro_caras) == "" ) {
        navigator.notification.alert("El Número de Caras de Semáforo debe ser un Número", null, acronimo_sistema, "Aceptar");							return false;
	} else if ( h_id_tipo_sen == 9 && nro_contadores == "" ) {
        navigator.notification.alert("Debe indicar el Número de Contadores de Semáforo de la Intesección", null, acronimo_sistema, "Aceptar");			return false;
	} else if ( h_id_tipo_sen == 9 && IsNumeric(nro_contadores) == "" ) {
        navigator.notification.alert("El Número de Contadores de Semáforo debe ser un Número", null, acronimo_sistema, "Aceptar");						return false;
	} else if ( h_id_tipo_sen == 9 && id_estad_con == "" ) {
        navigator.notification.alert("Debe indicar el Estado de los Contadores de los Semáforos de la Intesección", null, acronimo_sistema, "Aceptar");	return false;
	} else if ( h_id_tipo_sen == 9 && nro_contadores == 0 && id_estad_con != 3 ) {
        navigator.notification.alert("Existe una Inconsistencia en el Estado de los Contadores. El Estado debe ser NO APLICA.", null, acronimo_sistema, "Aceptar");	return false;
	} else if ( h_id_tipo_sen == 9 && id_model_con == "" ) {
        navigator.notification.alert("Debe indicar el Modelo del Controlador de los Semáforos de la Intesección", null, acronimo_sistema, "Aceptar");	return false;
	} else if ( h_id_tipo_sen == 9 && nro_fases == "" ) {
        navigator.notification.alert("Debe indicar el Número de Fases de los Semáforos de la Intesección", null, acronimo_sistema, "Aceptar");			return false;
	} else if ( h_id_tipo_sen == 9 && IsNumeric(nro_fases) == "" ) {
        navigator.notification.alert("El Número de Fases de Semáforo debe ser un Número", null, acronimo_sistema, "Aceptar");							return false;
	} else if ( h_id_tipo_sen == 9 && ciclo == "" ) {
        navigator.notification.alert("Debe indicar el Ciclo de los Semáforos de la Intesección", null, acronimo_sistema, "Aceptar");					return false;
	} else if ( h_id_tipo_sen == 9 && IsNumeric(ciclo) == "" ) {
        navigator.notification.alert("El Ciclo de los Semáforo debe ser un Número en Segundos", null, acronimo_sistema, "Aceptar");						return false;
	
	} else if ( id_estado == "" ) {
        navigator.notification.alert("Debe indicar el Estado donde se ubica la Señal", null, acronimo_sistema, "Aceptar");								return false;
    } else if ( id_municipio == "" ) {
        navigator.notification.alert("Debe indicar el Municipio donde se ubica la Señal", null, acronimo_sistema, "Aceptar");							return false;
	
	} else if ( id_tipo_via == "" ) {
        navigator.notification.alert("Debe indicar el Tipo de Vía donde se ubica la Señal", null, acronimo_sistema, "Aceptar");							return false;
	
    } else {
        // navigator.notification.confirm("ATENCIÓN: ¿Esta seguro de que desea Modificar la Señal de Tránsito?", null, acronimo_sistema, "Aceptar,Cancelar")
		if ( window.confirm ("ATENCIÓN: ¿Esta seguro de que desea Modificar la Señal de Tránsito?") ) {
            return true;
        } else {
            navigator.notification.alert("La Modificación de la Señal de Tránsito ha sido cancelado.!", null, acronimo_sistema, "Aceptar");
			return false;
        }
    }
}